home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 8 / FM Towns Free Software Collection 8.iso / t_os / tmbg / tmbg.asm next >
Assembly Source File  |  1994-06-01  |  2KB  |  87 lines

  1. ;TownsMENU背景 表示/非表示 設定ユーティリティ Ver.1 By Ushio 1994.1.2
  2. .8086
  3. print    macro    msg        ;文字列の表示(終端=$,破壊=ah,dx)
  4.     mov    dx,offset msg
  5.     mov    ah,9
  6.     int    21h
  7.     endm
  8.     
  9. CODE    segment
  10.     assume    cs:CODE,ds:CODE
  11.     org    80h
  12. cmdlen    db    ?        ;文字列長-1
  13. cmdln    label    byte        ;文字列
  14.     org    100h
  15. ENTRY:    
  16.     mov    dx,3c30h
  17.     in    al,dx
  18.     mov    cl,al        ;cl =0xxxxxxxb(非表示) =1xxxxxxxb(表示)
  19.     mov    al,cmdlen
  20.     cmp    al,2
  21.     jb    err        ;if コマンド長<2 then err
  22.     mov    ax,word ptr cmdln    ;ah=コマンド
  23.  
  24.     cmp    ax,'+ '
  25.     jne    next1
  26.     cmp    cl,0
  27.     js    bgon1
  28.     
  29.     mov    al,cl
  30.     or    al,80h
  31.     out    dx,al        ;背景表示
  32.     print    m_head
  33.     print    m_on2
  34.     jmp    owari
  35. bgon1:    print    m_head
  36.     print    m_on1
  37.     jmp    owari
  38. next1:
  39.     cmp    ax,'- '
  40.     jne    next2
  41.     cmp    cl,0
  42.     jns    bgoff1
  43.     
  44.     mov    al,cl
  45.     and    al,7fh
  46.     out    dx,al        ;背景非表示
  47.     print    m_head
  48.     print    m_off2
  49.     jmp    owari
  50. bgoff1:    print    m_head
  51.     print    m_off1
  52.     jmp    owari
  53. next2:
  54. err:    print    m_head
  55.     cmp    cl,0
  56.     jns    next3
  57.     print    m_on0
  58.     print    m_tail
  59.     jmp    owari
  60. next3:    print    m_off0
  61.     print    m_tail
  62. ;    jmp    owari
  63. next4:
  64. owari:    mov    al,cl
  65.     and    al,80h
  66.     rol    al,1
  67.     mov    ah,4ch
  68.     int    21h        ;終了
  69.     
  70. m_head    db    0Dh,0Ah,'TownsMENU背景 表示/非表示 設定ユーティリティ Ver.1 By Ushio 1994.1.2',0Dh,0Ah,0Dh,0Ah,'$'
  71. m_on0    db    '現在背景は <表示> に設定さています。$'
  72. m_off0    db    '現在背景は <非表示> に設定さています。$'
  73. m_on1    db    '背景は既に <表示> に設定さています。',0Dh,0Ah,'$'
  74. m_off1    db    '背景は既に <非表示> に設定さています。',0Dh,0Ah,'$'
  75. m_on2    db    '背景を <表示> に設定しました。',0Dh,0Ah,'$'
  76. m_off2    db    '背景を <非表示> に設定しました。',0Dh,0Ah,'$'
  77. m_tail    db    0Dh,0Ah,0Dh,0Ah
  78.     db    '使用法 : TMBG +         背景を 表示 に設定します。',0Dh,0Ah
  79.     db    '         TMBG -         背景を 非表示 に設定します。',0Dh,0Ah
  80.     db    '         TMBG           現在の 表示/非表示 の状態を表示します。',0Dh,0Ah,0Dh,0Ah
  81.     db    '戻り値 : ERRORLEVEL==0  背景は 非表示 の状態です。',0Dh,0Ah
  82.     db    '         ERRORLEVEL==1  背景は 表示 の状態です。',0Dh,0Ah
  83.     db    '$'
  84.     
  85. CODE    ends
  86.     end    ENTRY
  87.